/*ExamSystem Tables Define*/
-------------------------------------------------------------------------------------------------------
--枚举管理。
if exists(select 0 from sysobjects where xtype = 'u' and name = 'tblCommonEnums')
begin
    print 'drop table tblCommonEnums'
    drop table tblCommonEnums
end
go
    print 'create table tblCommonEnums'
go
create table tblCommonEnums
(
    EnumName    nvarchar(128),--枚举名称。
    Member      nvarchar(32),--枚举成员名称。
    MemberName  nvarchar(64),--枚举成员中文名称。
    IntValue    int default(0),--枚举成员值。
    OrderNo     int default(0),--枚举成员排序号。
    
    constraint PK_tblCommonEnums primary key(EnumName,Member)
)
go
--删除会员硬件绑定。
if exists(select 0 from sysobjects where xtype = 'u' and name = 'tblESMembershipHardware')
begin
    print 'drop table tblESMembershipHardware'
    drop table tblESMembershipHardware
end 
go
--删除会员与考试科目的关联。
if exists(select 0 from sysobjects where xtype = 'u' and name='tblESMembershipCatalog')
begin
    print 'drop table tblESMembershipCatalog'
    drop table tblESMembershipCatalog
end 
go
--删除会员错题集。
if exists(select 0 from sysobjects where xtype = 'u' and name = 'tblESMembershipMistakes')
begin
    print 'drop table tblESMembershipMistakes'
    drop table tblESMembershipMistakes
end
go
--会员管理。
if exists(select 0 from sysobjects where xtype = 'u' and name = 'tblESMembership')
begin
    print 'drop table tblESMembership'
    drop table tblESMembership
end 
go
    print 'create table tblESMembership'
go
create table tblESMembership
(
    MemberID        nvarchar(64)    not null,--会员ID。
    MemberSign      nvarchar(128)   not null,--会员帐号。
    MemberName      nvarchar(32)    not null,--会员名称。
    MemberStatus    int	default(1),--会员状态(0-暂停使用，1-正常使用)。

    constraint PK_tblESMembership primary key(MemberID),--主键约束。
    constraint UK_tblESMembership_MemberSign unique(MemberSign)--唯一约束。
)
go
-------------------------------------------------------------------------------------------------------
--会员硬件绑定。
if exists(select 0 from sysobjects where xtype = 'u' and name = 'tblESMembershipHardware')
begin
    print 'drop table tblESMembershipHardware'
    drop table tblESMembershipHardware
end 
go
    print 'create table tblESMembershipHardware'
go
create table tblESMembershipHardware
(
    MemberID        nvarchar(64)   not null,--会员ID。
    Hardware        nvarchar(128)  not null,--硬件序列号码(优先次序：CPU ID、硬盘ID、网卡ID)。
    CreateTime      datetime    default(getdate()),--创建时间。
    LastTime        datetime    default(getdate()),--最后一次时间.
    LastClientIP    nvarchar(32),--最后一次客户端IP。

    constraint PK_tblESMembershipHardware primary key(MemberID,Hardware),--主键约束。
    constraint FK_tblESMembershipHardware_tblESMembership_MemberID foreign key(MemberID) references tblESMembership(MemberID)--外键约束。
)
go
-------------------------------------------------------------------------------------------------------
--删除考试资讯管理。
if exists(select 0 from sysobjects where xtype = 'u' and name = 'tblESInformation')
begin
    print 'drop table tblESInformation'
    drop table tblESInformation
end 
go
--删除客户端快捷方式。
if exists(select 0 from sysobjects where xtype = 'u' and name = 'tblESClientShortcut')
begin
    print 'drop table tblESClientShortcut'
    drop table tblESClientShortcut
end 
go
--删除教材章节。
if exists(select 0 from sysobjects where xtype = 'u' and name = 'tblESTeachingSections')
begin
    print 'drop table tblESTeachingSections'
    drop table tblESTeachingSections
end 
go
--删除试卷属性。
if exists(select 0 from sysobjects where xtype = 'u' and name = 'tblESTestpaperProperties ')
begin
    print 'drop table tblESTestpaperProperties'
    drop table tblESTestpaperProperties
end 
go
--删除试卷管理。
if exists(select 0 from sysobjects where xtype = 'u' and name = 'tblESTestpaper')
begin
    print 'drop table tblESTestpaper'
    drop table tblESTestpaper
end
go
--删除合作机构合作科目。
if exists(select 0 from sysobjects where xtype = 'u' and name = 'tblESCooperationCatalog')
begin
    print 'drop table tblESCooperationCatalog'
    drop table tblESCooperationCatalog
end
go
--考试科目管理。
if exists(select 0 from sysobjects where xtype = 'u' and name = 'tblESCatalog')
begin
    print 'drop table tblESCatalog'
    drop table tblESCatalog
end 
go
    print 'create table tblESCatalog'
go
create table tblESCatalog
(
    ParentCatalogID     nvarchar(64)    null,--父科目ID。
    CatalogID                nvarchar(64)	not null,--科目ID。
    CatalogCode           nvarchar(64)    not null,--科目代码。
    CatalogName          nvarchar(32)	not null,--科目名称。
    CatalogType            int default(0),--科目类型，按位运算进行设置 (0-无，1-客户端标识)。
    Description              nvarchar(128),--描述信息。

    constraint PK_tblESCatalog primary key(CatalogID),--主键约束。
    constraint UK_tblESCatalog_CatalogCode unique(CatalogCode)--唯一约束。
)
go
-------------------------------------------------------------------------------------------------------
--会员与考试科目的关联。
if exists(select 0 from sysobjects where xtype = 'u' and name='tblESMembershipCatalog')
begin
    print 'drop table tblESMembershipCatalog'
    drop table tblESMembershipCatalog
end 
go
    print 'create table tblESMembershipCatalog'
go
create table tblESMembershipCatalog
(
    MemberID            nvarchar(64) not null,--会员ID。
    CatalogID           nvarchar(64) not null,--科目ID。

    CreateEmployeeID    nvarchar(64) null,--创建用户ID。
    CreateEmployeeName  nvarchar(32) null,--创建用户名称。
    CreateTime          datetime     default(getdate()),--创建时间。
    Cycle               int          default(1),--有效期限(单位：月)。

    constraint PK_tblESMembershipCatalog primary key(MemberID,CatalogID),--主键约束。
    constraint FK_tblESMembershipCatalog_tblESMembership_MemberID foreign key(MemberID) references tblESMembership(MemberID),--会员ID外键约束。
    constraint FK_tblESMembershipCatalog_tblESCatalog_CatalogID foreign key(CatalogID) references tblESCatalog(CatalogID)--外键约束。
)
go
-------------------------------------------------------------------------------------------------------
--考试资讯管理。
if exists(select 0 from sysobjects where xtype = 'u' and name = 'tblESInformation')
begin
    print 'drop table tblESInformation'
    drop table tblESInformation
end 
go
    print 'create table tblESInformation'
go
create table tblESInformation
(
    InfoID      nvarchar(64)    not null,--资讯ID。
    InfoTitle   nvarchar(64)    not null,--资讯名称。
    Status      int default(1),--资讯状态（0-暂不发布，1-发布）。
    Type        int default(0),--资讯类型（0-考试资讯，1-考试大纲）。

    CatalogID           nvarchar(64) not null,--所属科目ID。

    Content             ntext,--资讯内容。

    CreateEmployeeID    nvarchar(64) null,--创建用户ID。
    CreateEmployeeName  nvarchar(32) null,--创建用户名称。
    CreateTime          datetime     default(getdate()),--创建时间。

    constraint PK_tblESInformation primary key(InfoID),--主键约束。
    constraint FK_tblESInformation_tblESCatalog_CatalogID foreign key(CatalogID) references tblESCatalog(CatalogID)--外键约束。
)
go
-------------------------------------------------------------------------------------------------------
--客户端快捷方式。
if exists(select 0 from sysobjects where xtype = 'u' and name = 'tblESClientShortcut')
begin
    print 'drop table tblESClientShortcut'
    drop table tblESClientShortcut
end 
go
    print 'create table tblESClientShortcut'
go
create table tblESClientShortcut
(
    ShortcutID      nvarchar(64),--快捷方式ID。
    ShortcutName    nvarchar(32),--快捷方式名称。
    CatalogID       nvarchar(64)    not null,--所属科目ID。
    ToolTip         nvarchar(128),--提示信息。
    Type            int default(0),--快捷类型（0-超链接，1-客户端插件）。
    Status          int default(0),--状态（0-停用，1-启用）。
    LinkAddress     nvarchar(256),--链接地址。
    LinkTarget      int default(0),--链接方式（0-_self,1-_blank）。
    OrderNo         int default(1),--排序号。

    constraint PK_tblESClientShortcut primary key(ShortcutID),--主键约束。
    constraint FK_tblESClientShortcut_tblESCatalog_CatalogID foreign key(CatalogID) references tblESCatalog(CatalogID)--外键约束。
)
go
-------------------------------------------------------------------------------------------------------
--教材章节。
if exists(select 0 from sysobjects where xtype = 'u' and name = 'tblESTeachingSections')
begin
    print 'drop table tblESTeachingSections'
    drop table tblESTeachingSections
end 
go
    print 'create table tblESTeachingSections'
go
create table tblESTeachingSections
(
    ParentSectionID    nvarchar(64)    null,--父章节ID。
    SectionID          nvarchar(64) not null,--章节ID。
    SectionName        nvarchar(128),--章节名称。
    CatalogID          nvarchar(64) not null,--所属科目ID。

    Description        nvarchar(512),--描述信息。

    constraint PK_tblESTeachingSections primary key(SectionID),--主键约束。
    constraint FK_tblESTeachingSections_tblESCatalog_CatalogID foreign key(CatalogID) references tblESCatalog(CatalogID)--外键约束。
)
go
-------------------------------------------------------------------------------------------------------
--删除题干附加数据。
if exists(select 0 from sysobjects where xtype = 'u' and name = 'tblESItemTopicsProperties')
begin
    print 'drop table tblESItemTopicsProperties'
    drop table tblESItemTopicsProperties
end
go
--题型管理。
if exists(select 0 from sysobjects where xtype = 'u' and name = 'tblESItemTypes')
begin
    print 'drop table tblESItemTypes'
    drop table tblESItemTypes
end 
go
    print 'create table tblESItemTypes'
go
create table tblESItemTypes
(
    TypeID           nvarchar(64) not null,--题型ID。
    TypeName     nvarchar(32),--题型名称。
    TypeCode      nvarchar(32),--题型代码(应由字母和数字简拼为唯一编码)。
    JSEditClass    nvarchar(256),--编辑类名。

    AnalysisClass                 nvarchar(256),--解析类全名称。 
    AntianalyticClass          nvarchar(256),--反解析全名称。
    AssemblyName            nvarchar(512),--程序集名称。

    Description           nvarchar(128),--描述信息。

    constraint PK_tblESItemTypes primary key(TypeID),--主键约束。
    constraint UK_tblESItemTypes_TypeName unique(TypeName),--唯一约束。
    constraint UK_tblESItemTypes_TypeCode unique(TypeCode)--唯一约束。
)
go
-------------------------------------------------------------------------------------------------------
--删除题目选项数据。
if exists(select 0 from sysobjects where xtype = 'u' and name = 'tblESItemOptions')
begin
    print 'drop table tblESItemOptions'
    drop table tblESItemOptions
end
go
--删除题目正确答案。
if exists(select 0 from sysobjects where xtype = 'u' and name = 'tblESItemAnswer')
begin
    print 'drop table tblESItemAnswer'
    drop table tblESItemAnswer
end 
go
--删除题目答案解析
if exists(select 0 from sysobjects where xtype = 'u' and name = 'tblESItemAnswerResolve')
begin
    print 'drop table tblESItemAnswerResolve'
    drop table tblESItemAnswerResolve
end
go
--删除会员错题集。
if exists(select 0 from sysobjects where xtype = 'u' and name = 'tblESMembershipMistakes')
begin
    print 'drop table tblESMembershipMistakes'
    drop table tblESMembershipMistakes
end
go
--删除试卷结构题目。
if exists(select 0 from sysobjects where xtype = 'u' and name = 'tblESTestpaperStructureItems')
begin
    print 'drop table tblESTestpaperStructureItems'
    drop table tblESTestpaperStructureItems
end
go
--题干信息数据。
if exists(select 0 from sysobjects where xtype = 'u' and name = 'tblESItemTopics')
begin
    print 'drop table tblESItemTopics'
    drop table tblESItemTopics
end
go
    print 'create table tblESItemTopics'
go
create table tblESItemTopics
(
    ParentTopicsID      nvarchar(64)    null,--上级题干ID。
    TopicsID                 nvarchar(64)    not null,--题干ID。
    Content                  nvarchar(1024) not null,--题干内容。
    ImgUri                    nvarchar(256),--图片URL。
    OrderNo                 int   default(0),--排序。
    
    constraint PK_tblESItemTopics primary key(TopicsID)--主键约束。
)
go
-------------------------------------------------------------------------------------------------------
--题干附加数据。
if exists(select 0 from sysobjects where xtype = 'u' and name = 'tblESItemTopicsProperties')
begin
    print 'drop table tblESItemTopicsProperties'
    drop table tblESItemTopicsProperties
end
go
    print 'create table tblESItemTopicsProperties'
go
create table tblESItemTopicsProperties
(
    TopicsID            nvarchar(64)   not null,--题干ID。
    Keyword            nvarchar(128),--关键字。
    TypeID               nvarchar(64) not null,--题型ID。
    Difficulty           float   default(1.0),--题目难度值.

    CatalogID          nvarchar(64)   null,--科目ID。
    SectionID          nvarchar(64)   null,--章节ID。
    CheckCode       nvarchar(32)   null,--校验码

    CreateTime       datetime    default(getdate()),--创建时间。

    constraint  PK_tblESItemTopicsProperties primary key(TopicsID),--主键约束。
    constraint  FK_tblESItemTopicsProperties_tblESItemTopics_TopicsID foreign key(TopicsID) references tblESItemTopics(TopicsID),--主键约束。
    constraint  FK_tblESItemTopicsProperties_tblESItemTypes_TypeID foreign key(TypeID) references tblESItemTypes(TypeID)--主键约束。
)
-------------------------------------------------------------------------------------------------------
--题目选项数据。
if exists(select 0 from sysobjects where xtype = 'u' and name = 'tblESItemOptions')
begin
    print 'drop table tblESItemOptions'
    drop table tblESItemOptions
end
go
    print 'create table tblESItemOptions'
go
create table tblESItemOptions
(
    TopicsID            nvarchar(64)   not null,--题干ID。
    OptionID           nvarchar(64)   not null,--选项ID。
    Title                   nvarchar(32)   null,--选项标号。
    Content             nvarchar(1024) null,--选项内容。
    ImgUri               nvarchar(256),--图片URI。
    OrderNo            int   default(0),--排序。

    constraint PK_tblESItemOptions primary key(OptionID),--主键约束。
    constraint FK_tblESItemOptions_tblESItemTopics_TopicsID foreign key(TopicsID) references tblESItemTopics(TopicsID)--外键约束。
)
go
-------------------------------------------------------------------------------------------------------
--题目正确答案。
if exists(select 0 from sysobjects where xtype = 'u' and name = 'tblESItemAnswer')
begin
    print 'drop table tblESItemAnswer'
    drop table tblESItemAnswer
end 
go
    print 'create table tblESItemAnswer'
go
create table tblESItemAnswer
(
    TopicsID            nvarchar(64)   not null,--题干ID。
    OptionID           nvarchar(64),--选项ID，选择题答案。
    Content             nvarchar(1024),--非选择题答案。	
    ImgUri               nvarchar(256),--图片URI。

     constraint PK_tblESItemAnswer	primary key(TopicsID,OptionID),--主键约束。
     constraint FK_tblESItemAnswer_tblESItemTopics_TopicsID foreign key(TopicsID) references tblESItemTopics(TopicsID)--外键约束。
)
go
-------------------------------------------------------------------------------------------------------
--题目答案解析
if exists(select 0 from sysobjects where xtype = 'u' and name = 'tblESItemAnswerResolve')
begin
    print 'drop table tblESItemAnswerResolve'
    drop table tblESItemAnswerResolve
end
go
    print 'create table tblESItemAnswerResolve'
go
create table tblESItemAnswerResolve
(
     TopicsID            nvarchar(64)   not null,--题干ID。
     Resolve              nvarchar(1024),--解析内容。
     ImgUri               nvarchar(256),--图片URI。
     
     constraint PK_tblESItemAnswerResolve primary key(TopicsID),--主键约束。
     constraint FK_tblESItemAnswerResolve_tblESItemTopics_TopicsID foreign key(TopicsID) references tblESItemTopics(TopicsID)--外键约束。
)
go
-------------------------------------------------------------------------------------------------------
--会员错题集。
if exists(select 0 from sysobjects where xtype = 'u' and name = 'tblESMembershipMistakes')
begin
    print 'drop table tblESMembershipMistakes'
    drop table tblESMembershipMistakes
end
go
    print 'create table tblESMembershipMistakes'
go
create table tblESMembershipMistakes
(
    MemberID    nvarchar(64)    not null,--会员ID。
    TopicsID      nvarchar(64)    not null,--题干ID。

    Content     nvarchar(1024),--错误内容。
    Remarks     nvarchar(1024),--备注信息。

    CreateTime  datetime default(getdate()),--创建时间。

    constraint PK_tblESMembershipMistakes primary key(MemberID,TopicsID),--主键约束。
    constraint FK_tblESMembershipMistakes_tblESMembership_MemberID foreign key(MemberID) references tblESMembership(MemberID),--外键约束。
    constraint FK_tblESMembershipMistakes_tblESItemTopics_ItemID foreign key(TopicsID) references tblESItemTopics(TopicsID)--外键约束。
)
go
-------------------------------------------------------------------------------------------------------
--试卷管理。
if exists(select 0 from sysobjects where xtype = 'u' and name = 'tblESTestpaper')
begin
    print 'drop table tblESTestpaper'
    drop table tblESTestpaper
end
go
    print 'create table tblESTestpaper'
go
create  table tblESTestpaper
(
    PaperID         nvarchar(64),--试卷ID。
    PaperName       nvarchar(64),--试卷名称。
    PaperCode       nvarchar(32),--试卷编号（由字母和数字组成）。
    PaperTitle      nvarchar(128),--试卷标题。
    PaperSubTitle   nvarchar(128),--试卷副标题。
    PaperType       int default(0),--试卷类型（０:题库，１:真题，２:模拟题，3:练习题）。
    PaperStatus     int default(1),--试卷状态（0:不启用，1：启用）。
    CatalogID       nvarchar(64),--科目ID
    Description     nvarchar(256),--说明描述信息。
    TotalTime       int default(120),--考试时间。
    TotalScores     int default(120),--总分数。

    CreateTime      datetime default(getdate()),--创建时间。
    CreateEmployee  nvarchar(32),--创建的用户名称。
    LastTime        datetime default(getdate()),--最后修改时间。
    LastEmployee    nvarchar(32),--最后修改用户名称。

    constraint PK_tblESTestpaper primary key(PaperID),--主键约束。
    constraint UK_tblESTestpaper_PaperCode unique(PaperCode),--唯一约束。
    constraint FK_tblESTestpaper_tblESCatalog_CatalogID foreign key(CatalogID) references tblESCatalog(CatalogID)--外键约束。
)
go 
-------------------------------------------------------------------------------------------------------
--试卷属性。
if exists(select 0 from sysobjects where xtype = 'u' and name = 'tblESTestpaperProperties ')
begin
    print 'drop table tblESTestpaperProperties'
    drop table tblESTestpaperProperties
end 
go
    print 'create table tblESTestpaperProperties'
go
create table tblESTestpaperProperties
(
    PaperID      nvarchar(64),--试卷ID。
    AreaCode     nvarchar(32),--地区代码。
    ExamTime     datetime default(getdate()),--考试时间（当试卷类型为历年真题时）。
    Price        float	 default(0.0),--试卷价格。
    IsRecommend  int default(0),--是否推荐（0：不推荐，1：推荐）。
    Number       int default(0),--参考人数。
    TopScore     float default(0.0),--此试题最高分。

    constraint PK_tblESTestpaperProperties primary key(PaperID),--主键约束。
    constraint FK_tblESTestpaperProperties_tblESTestpaper_PaperID foreign key(PaperID) references tblESTestpaper(PaperID)--外键约束。
)
go
-------------------------------------------------------------------------------------------------------
--试卷结构。
if exists(select 0 from sysobjects where xtype = 'u' and name = 'tblESTestpaperStructure')
begin
    print 'drop table tblESTestpaperStructure'
    drop table tblESTestpaperStructure
end
go
    print 'create table tblESTestpaperStructure'
go
create table tblESTestpaperStructure
(
    ParentStructureID	nvarchar(64)    null,--父结构ID。
    StructureID         nvarchar(64) not null,--结构ID。
    PaperID		nvarchar(64) null,--试卷ID（父结构ID为空时有效）。
    StructureCode	nvarchar(10),--结构题号（大小题号）。
    StructureTitle	nvarchar(128),--题目标题。
    Scores		float default(0),--分数。
    Description         nvarchar(512),--描述信息。
    OrderNo		int default(1),--排序。

    constraint PK_tblESTestpaperStructure primary key(StructureID)--主键约束。
)
go
-------------------------------------------------------------------------------------------------------
--试卷结构题目。
if exists(select 0 from sysobjects where xtype = 'u' and name = 'tblESTestpaperStructureItems')
begin
    print 'drop table tblESTestpaperStructureItems'
    drop table tblESTestpaperStructureItems
end
go
    print 'create table tblESTestpaperStructureItems'
go
create table tblESTestpaperStructureItems
(
    StructureID     nvarchar(64) not null,--结构ID。
    TopicsID          nvarchar(64) not null,--题目ID。

    constraint PK_tblESTestpaperStructureItems primary key(StructureID,TopicsID),--主键约束。
    constraint FK_tblESTestpaperStructureItems_tblESTestpaperStructure_StructureID foreign key(StructureID) references tblESTestpaperStructure(StructureID),--外键约束。
    constraint FK_tblESTestpaperStructureItems_tblESItemTopics_TopicsID foreign key(TopicsID) references tblESItemTopics(TopicsID)--外键约束。
)
go
-------------------------------------------------------------------------------------------------------
--删除合作机构成员。
if exists(select 0 from sysobjects where xtype = 'u' and name = 'tblESCooperationMembers')
begin
    print 'drop table tblESCooperationMembers'
    drop table tblESCooperationMembers
end
go
--合作机构表。
if exists(select 0 from sysobjects where xtype = 'u'  and name = 'tblESCooperation ')
begin
    print 'drop table tblESCooperation'
    drop table tblESCooperation
end
go
    print 'create table tblESCooperation'
go
create table tblESCooperation
(
    CooperationID       nvarchar(64),-- 合作机构ID。
    CooperationCode     nvarchar(32),--合作机构代码。
    CooperationName	nvarchar(128),--合作机构名称。
    CooperationWay	int default(0),--合作方式（0：合作，1:投放广告，2:业务员）。
    AuthorizationCode	nvarchar(32),--合作机构授权码。
    HostURL		nvarchar(256),--合作机构网站。
    SiteURL		nvarchar(256),--站点Url（指向考试系统的域名）。
    CooperationTime	datetime	default(getdate()),--合作时间。
    ProfitPercent	float	default(0.0),--利润分成。
    TelPhone            nvarchar(32),--联系电话。
    EmailAddress	nvarchar(128),--邮箱地址。
    LinkName            nvarchar(32),--联系人名称。
    IDCard		nvarchar(32),--身份证号码。
    BankName            nvarchar(128),--开户银行。
    BankNumber          nvarchar(64),--银行卡号。
    BankAddress         nvarchar(128),--开户地址。
    Status		int default(0),--状态（0-停用，1-启用）。

    constraint PK_tblESCooperation primary key(CooperationID)--主键约束。
)
go
-------------------------------------------------------------------------------------------------------
--合作机构成员。
if exists(select 0 from sysobjects where xtype = 'u' and name = 'tblESCooperationMembers')
begin
    print 'drop table tblESCooperationMembers'
    drop table tblESCooperationMembers
end
go
    print 'create table tblESCooperationMembers'
go
create table tblESCooperationMembers
(
    CooperationID     nvarchar(64),-- 合作机构ID。
    MemberID          nvarchar(64),--成员ID。
    MemberCode        nvarchar(32),--成员代码。
    MemberName        nvarchar(32),--成员名称。
    TelPhone          nvarchar(32),--联系电话。
    QQ                nvarchar(32),--QQ号码。
    MSN               nvarchar(64),--MSN帐号。
    EmailAddress      nvarchar(128),--电子邮件地址。

    constraint PK_tblESCooperationMembers primary key(MemberID),--主键约束。
    constraint FK_tblESCooperationMembers_tblESCooperation_CooperationID foreign key(CooperationID) references tblESCooperation(CooperationID)--外键约束。
)
go
-------------------------------------------------------------------------------------------------------
--合作机构合作科目。
if exists(select 0 from sysobjects where xtype = 'u' and name = 'tblESCooperationCatalog')
begin
    print 'drop table tblESCooperationCatalog'
    drop table tblESCooperationCatalog
end
go
    print 'create table tblESCooperationCatalog'
go
create table tblESCooperationCatalog
(
    CooperationID    nvarchar(64),-- 合作机构ID。
    CatalogID        nvarchar(64),--所属科目ID。

    constraint PK_tblESCooperationCatalog primary key(CooperationID,CatalogID),--主键约束。
    constraint FK_tblESCooperationCatalog_tblESCooperation_CooperationID foreign key(CooperationID) references tblESCooperation(CooperationID),--外键约束。
    constraint FK_tblESCooperationCatalog_tblESCatalog_CatalogID foreign key(CatalogID) references tblESCatalog(CatalogID)--外键约束。
)
go
-------------------------------------------------------------------------------------------------------